<?php

namespace App\Http\Controllers\WeChat;


use App\User;
use EasyWeChat\Factory;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Log;

class EasyWeChatController extends Controller
{



    public function index()
    {
        Log::info('request arrived.'); # 注意：Log 为 Laravel 组件，所以它记的日志去 Laravel 日志看，而不是 EasyWeChat 日志

        $app = app('wechat.official_account');

        $app->server->push(function ($message) {
            switch ($message['MsgType']) {
                case 'event':
                    return '收到事件消息';
                    break;
                case 'text':
                    return '收到文字消息';
                    break;
                case 'image':
                    return '收到图片消息';
                    break;
                case 'voice':
                    return '收到语音消息';
                    break;
                case 'video':
                    return '收到视频消息';
                    break;
                case 'location':
                    return '收到坐标消息';
                    break;
                case 'link':
                    return '收到链接消息';
                    break;
                // ... 其它消息
                default:
                    return '收到其它消息';
                    break;
            }

            // ...
        });

        return $app->server->serve();
    }


    public function GetCode()
    {
        $result = $this->app->qrcode->forever(56);// 或者 $app->qrcode->forever("foo");
        print_r($result);
    }


    public function GetMyCode(Request $request)
    {

        // 未登录
        if (empty(session('wechat_user'))) {

            session('wechat_user','user/profile');

            //return $this->oauth->redirect();
            // 这里不一定是return，如果你的框架action不是返回内容的话你就得使用
            $this->oauth->redirect()->send();
        }
        // 已经登录过
        $this->user = session('wechat_user');

        $user = User::add($this->user);

        $thisuser = $this->user;




        if ($user ==200){
            //查找该用户
            $user = User::where('openid',$thisuser['id'])->get();
            if($user['code'] == ''){
                $message['FromUserName'] = $user['openid']; // 用户的 openid
                $message['MsgType'] = 'text';// 消息类型：event, text.. ..

                $this->app->server->push(function ($message) {
                    return "您好！欢迎使用 EasyWeChat";
                });

            // 在 laravel 中：
                $response = $this->app->server->serve();


            // 而 laravel 中直接返回即可：

                return $response;
                $result = $this->app->qrcode->forever(10);// 或者 $app->qrcode->forever("foo");

                $url = $this->app->qrcode->url($result['ticket']);
            }else{

            }

        }


        return redirect($url);
    }


}
